package com.hengpeng.itfinbase.persist;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;

import com.hengpeng.common.web.annotation.HtmlInput;
import com.hengpeng.common.web.annotation.HtmlInputPattern;
import com.hengpeng.common.web.annotation.HtmlInputType;
import com.hengpeng.itfinbase.en.UserLevel;
import com.hengpeng.itfinbase.idAssign.AbstractAssign18IdEntity;

/**
 * <pre>
 * 会员信息
 * </pre>
 * 
 * @author linriqing
 * @version 1.0, 2010-7-19
 */
@Entity
public class UserInfo extends AbstractAssign18IdEntity {
    public static enum RegisterSource {
        HTML5("Html5平台"),

        ANDROID("安卓客户端"),

        IPHONE("苹果客户端"),

        WEB("网页客户端"),

        BACK("后台添加");

        private String text;

        RegisterSource(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    /**
     * <pre>
     * 会员状态
     * </pre>
     * 
     * @author linriqing
     * @version 1.0, 2010-7-19
     */
    public static enum UserInfoStatus {
        /**
         * 正常
         */
        NORMAL("正常"),
        /**
         * 冻结
         */
        FREEZED("冻结"),
        /**
         * 关闭
         */
        CLOSED("关闭");

        private String text;

        UserInfoStatus(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    /**
     * <pre>
     * 会员类型
     * </pre>
     * 
     * @author linriqing
     * @version 1.0, 2010-7-19
     */
    public static enum UserInfoType {
        /**
         * 普通会员
         */
        PERSON("普通会员"),
        /**
         * 员工用户
         */
        EMPLOYEE("员工用户"),
        /**
         * 兼职用户
         */
        PARTEMPLOYEE("兼职用户"),
        /**
         * 合作商用户
         */
        PARTNER("合作商用户"),

        /**
         * 企业会员
         */
        ENTERPRISE("企业会员"),

        /**
         * 担保企业会员
         */
        GUARATOR("担保企业会员");

        private String text;

        UserInfoType(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    /**
     * 用户地区划分
     * 
     * @author liyangyang
     *
     */
    public static enum RegionalType {

        SH("上海"), SZ("深圳"), GZ("广州"), BJ("北京"), HZ("杭州");
        private String text;

        RegionalType(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }

    }

    /**
     * <pre>
     * 公司行业
     * </pre>
     * 
     * @author weiyuan
     * @version 1.0, 2015年8月21日
     */
    public enum CompanyBussinessType {
        type1("计算机/互联网/通信/电子"), type2("会计/金融/银行/保险"), type3("贸易/消费/制造/保险"), type4("制药/医疗"), type5("广告/媒体"), type6(
                "房地产/建筑"), type7("专业服务/教育/培训"), type8("服务业"), type9("物流/运输"), type10("能源/原材料"), type11("政府/非盈利性机构/其他");

        private String text;

        CompanyBussinessType(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    /**
     * <pre>
     * 性别
     * </pre>
     * 
     * @author weiyuan
     * @version 1.0, 2015年8月22日
     */
    public enum PersonSex {
        MAN("男人"), WOMAN("女人");

        private String text;

        PersonSex(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    /**
     * <pre>
     * 密保提示问题
     * </pre>
     * 
     * @author linriqing
     * @version 1.0, 2010-7-19
     */
    public enum UserQuestionType {
        /**
         * 您的生日是哪天?
         */
        BIRTHDAY("您的生日是哪天?"),
        /**
         * 您哥哥的生日是哪天?
         */
        BROTHERBIRTHDAY("您哥哥的生日是哪天?"),
        /**
         * 您父亲的生日是哪天?
         */
        FATHERBIRTHDAY("您父亲的生日是哪天?"),
        /**
         * 您父亲的名字是什么?
         */
        FATHERNAME("您父亲的名字是什么?"),
        /**
         * 您的高中母校名称是什么?
         */
        HIGNSCHOOL("您的高中母校名称是什么?"),
        /**
         * 您的爱好是什么?
         */
        HOBBY("您的爱好是什么?"),
        /**
         * 您的家乡在哪里?
         */
        HOMETOWN("您的家乡在哪里?"),
        /**
         * 您母亲的生日是哪天?
         */
        MATHERBIRTHDAY("您母亲的生日是哪天?"),
        /**
         * 您母亲的名字是什么?
         */
        MATHERNAME("您母亲的名字是什么?"),
        /**
         * 您的初中母校名称是什么?
         */
        MIDSCHOOL("您的初中母校名称是什么?"),
        /**
         * 您的小学母校名称是什么?
         */
        PRISCHOOL("您的小学母校名称是什么?"),
        /**
         * 您的职业是什么?
         */
        PROFESSION("您的职业是什么?"),
        /**
         * 您姐姐的生日是哪天?
         */
        SISTERBIRTHDAY("您姐姐的生日是哪天?"),
        /**
         * 您最想去的旅游胜地是哪里?
         */
        TOTRAVEL("您最想去的旅游胜地是哪里?"),
        /**
         * 您最难忘的人是谁?
         */
        UNFORGETTABELPEOPLE("您最难忘的人是谁?"),
        /**
         * 您的大学母校名称是什么?
         */
        UNIVERSITYNAME("您的大学母校名称是什么?"),
        /**
         * 您在哪个城市工作?
         */
        WORKCITY("在哪个城市工作?"),
        /**
         * 您弟弟的生日是哪天?
         */
        YOUNGERBROTHERBIRTHDAY("您弟弟的生日是哪天?"),
        /**
         * 您妹妹的生日是哪天?
         */
        YOUNGERSISTERBIRTHDAY("您妹妹的生日是哪天?"),
        /**
         * 您爱人的名字是什么?
         */
        WIFENAME("您 爱人的名字是什么?"),
        /**
         * 您的小学班主任姓名是什么?
         */
        PRISCHOOLTEACHER("您的小学班主任姓名是什么?"),
        /**
         * 您的初中班主任姓名是什么?
         */
        MIDSCHOOLTEACHER("您的初中班主任姓名是什么?"),
        /**
         * 您的高中班主任姓名是什么?
         */
        HIGNSCHOOLTEACHER("您的高中班主任姓名是什么?"),
        /**
         * 您 最喜欢的颜色是什么?
         */
        LOVECOLOR("您 最喜欢的颜色是什么?");

        private String text;

        UserQuestionType(String text) {
            this.text = text;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    private static final long serialVersionUID = -7913767031518217454L;

    /**
     * 用户名
     */
    @Column(length = 50, unique = true)
    @HtmlInput(label = "用户名", type = HtmlInputType.TEXT, nullable = true, index = 1)
    private String userName;

    /**
     * 手机号码
     */
    @Column(length = 20)
    @HtmlInput(label = "手机号码", type = HtmlInputType.TEXT, nullable = false, index = 2)
    private String mobile;

    /**
     * email
     */
    @Column(length = 50)
    @HtmlInput(label = "邮箱", type = HtmlInputType.TEXT, nullable = true, index = 3)
    private String email;

    /**
     * 真实姓名
     */
    @Column(length = 50)
    @HtmlInput(label = "真实姓名", type = HtmlInputType.TEXT, nullable = true, index = 4)
    private String realName;

    /**
     * 简称(主要用于企业用户)
     */
    @Column(length = 50)
    @HtmlInput(label = "简称", type = HtmlInputType.TEXT, nullable = true, index = 5)
    private String shortName;

    /**
     * 证件号码
     */
    @Column(length = 30)
    @HtmlInput(label = "证件号码", type = HtmlInputType.TEXT, nullable = true, index = 6)
    private String cardNumber;

    /**
     * 组织机构代码
     */
    @Column(length = 100)
    @HtmlInput(label = "组织机构代码", type = HtmlInputType.TEXT, nullable = true, index = 7)
    private String organizeCode;

    /**
     * 企业税务登记号
     */
    @Column(length = 100)
    @HtmlInput(label = "企业税务登记号", type = HtmlInputType.TEXT, nullable = true, index = 8)
    private String taxCode;

    /**
     * 开户银行许可证
     */
    @Column(length = 100)
    @HtmlInput(label = "开户银行许可证", type = HtmlInputType.TEXT, nullable = true, index = 9)
    private String bankPermitCode;

    /**
     * 营业执照编号
     */
    @Column(length = 100)
    @HtmlInput(label = "营业执照编号", type = HtmlInputType.TEXT, nullable = true, index = 9)
    private String busiCode;

    /**
     * 托管账户ID
     */
    @Column(length = 100)
    @HtmlInput(label = "托管账户ID", type = HtmlInputType.TEXT, nullable = true, index = 10)
    private String trustAccountId;

    /**
     * 是否在托管平台开户
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否开户", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 11)
    private BoolValue isOpenAccount;

    /**
     * 是否已绑卡
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否已绑卡", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 11)
    private BoolValue isBindCard;

    /**
     * 性别
     */
    @Column(length = 50)
    @Enumerated(javax.persistence.EnumType.STRING)
    private PersonSex personSex;

    /**
     * 借款额度
     */
    @HtmlInput(label = "借款额度", type = HtmlInputType.TEXT, nullable = true, index = 22)
    private Long borrowLimit;

    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "公司行业", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 16)
    private CompanyBussinessType bussinessType;

    @HtmlInput(label = "办公地址", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String workaddress;

    @HtmlInput(label = "主营业务", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String mainbussiness;

    @HtmlInput(label = "联系电话/传真", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String teltax;

    @HtmlInput(label = "企业联系人一（融资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_one_name;

    @HtmlInput(label = "企业联系人一（融资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_one_duty;

    @HtmlInput(label = "企业联系人一（融资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_one_email;

    @HtmlInput(label = "企业联系人一（融资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_one_tel;

    @HtmlInput(label = "企业联系人二（投资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_two_name;

    @HtmlInput(label = "企业联系人一（投资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_two_duty;

    @HtmlInput(label = "企业联系人一（投资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_two_email;

    @HtmlInput(label = "企业联系人一（投资方向）", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String linkman_two_tel;

    @HtmlInput(label = "个人所在地区", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String personArea;

    @HtmlInput(label = "工作单位", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String personWorkCompany;

    @HtmlInput(label = "职务", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String personWorkDuty;

    @HtmlInput(label = "机构类型", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String financedeptType;

    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否政府机构", maxLength = 2, type = HtmlInputType.SELECT, labelProperty = "text", nullable = true, index = 11)
    private BoolValue isGov;

    /**
     * 是否实名认证
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否实名认证", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 11)
    private BoolValue isRealNameCheck;

    /**
     * 是否手机验证
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否手机验证", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 12)
    private BoolValue isMobileCheck;

    /**
     * 是否邮箱验证
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    private BoolValue isEmailCheck;

    /**
     * 是否投资人
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否投资人", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 14)
    private BoolValue isInvestor;

    /**
     * 是否融资人
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "是否融资人", maxLength = 2, type = HtmlInputType.RADIOBOX, labelProperty = "text", nullable = true, index = 15)
    private BoolValue isBorrower;

    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "注册来源", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 16)
    private RegisterSource registerFrom;

    /**
     * 用户状态
     */
    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "用户状态", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 17)
    private UserInfoStatus status;

    /**
     * 用户类型
     */
    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "会员类型", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 18)
    private UserInfoType type;

    // 审核状态 AuditStat 定长1位的String 必须 审核过程中的状态 I--初始 T--提交 P--审核中 R--审核拒绝 F--开户失败
    // K--开户中 Y--开户成功
    // 审核状态描述 AuditDesc 变长120位的String 可选 审核状态描述
    @Column(length = 200)
    @HtmlInput(label = "审核状态", type = HtmlInputType.TEXT, nullable = true, labelProperty = "text", index = 18)
    private String auditDesc;

    /**
     * 开户银行代码
     */
    @HtmlInput(label = "开户银行代码", type = HtmlInputType.TEXT, nullable = true, labelProperty = "text", index = 18)
    private String openBankId;

    /**
     * 开户银行账号
     */
    @HtmlInput(label = "开户银行账号", type = HtmlInputType.TEXT, nullable = true, labelProperty = "text", index = 18)
    private String cardId;

    /**
     * 最后登陆用户ip
     */
    @HtmlInput(label = "最后登陆用户ip", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String lastLoginIp;

    /**
     * 登陆成功次数
     */
    @HtmlInput(label = "登陆成功次数", type = HtmlInputType.TEXT, nullable = true, index = 21)
    private Integer loginSucNum;

    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "用户等级", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 18)
    private UserLevel userLevel;

    /**
     * 登陆失败次数
     */
    @HtmlInput(label = "登陆失败次数", type = HtmlInputType.TEXT, nullable = true, index = 22)
    private Integer loginFailNum;

    /**
     * 最后登陆时间
     */
    @HtmlInput(label = "最后登录日期", type = HtmlInputType.TEXT, pattern = HtmlInputPattern.DATETIME, format = "yyyy-MM-dd HH:mm", nullable = true, index = 23)
    private Date lastLoginTime;

    /**
     * 最后修改时间
     */
    @HtmlInput(label = "最后修改日期", type = HtmlInputType.TEXT, pattern = HtmlInputPattern.DATETIME, format = "yyyy-MM-dd HH:mm", nullable = true, index = 24)
    private Date updateTime;

    /**
     * 注册时间
     */
    @HtmlInput(label = "注册时间", type = HtmlInputType.TEXT, pattern = HtmlInputPattern.DATETIME, nullable = true, format = "yyyy-MM-dd HH:mm", index = 25)
    private Date registerTime;

    /**
     * 登陆密码
     */
    @Column(length = 50)
    @HtmlInput(label = "登陆密码", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String password;

    /**
     * 密码附加码（明文随机6位英文或数字）
     */
    @HtmlInput(label = "密码附加码", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String pwdAttach;

    /**
     * 推荐码
     */
    @HtmlInput(label = "推荐码", type = HtmlInputType.TEXT, nullable = true, index = 20)
    private String recommendCode;

    /**
     * 是否设置密保
     */
    @Column(length = 10)
    @Enumerated(javax.persistence.EnumType.STRING)
    private BoolValue isQuestionCheck;

    /**
     * 密保问题一
     */
    @Column(length = 50)
    @Enumerated(javax.persistence.EnumType.STRING)
    private UserQuestionType questionType;

    /**
     * 密保问题答案一
     */
    @Column(length = 50)
    private String answer;

    @Column(length = 50)
    @HtmlInput(label = "生日", type = HtmlInputType.TEXT, nullable = true, index = 4)
    private String birthday;

    @Column(length = 50)
    @HtmlInput(label = "企业资质情况", type = HtmlInputType.TEXT, nullable = true, index = 4)
    private String companyHonor;

    public String getCompanyHonor() {
        return companyHonor;
    }

    public void setCompanyHonor(String companyHonor) {
        this.companyHonor = companyHonor;
    }

    public BoolValue getIsBindCard() {
        return isBindCard;
    }

    public void setIsBindCard(BoolValue isBindCard) {
        this.isBindCard = isBindCard;
    }

    /**
     * 注册激活码
     */
    private String activeCode;

    public String getActiveCode() {
        return activeCode;
    }

    public void setActiveCode(String activeCode) {
        this.activeCode = activeCode;
    }

    public PersonSex getPersonSex() {
        return personSex;
    }

    public void setPersonSex(PersonSex personSex) {
        this.personSex = personSex;
    }

    public Long getBorrowLimit() {
        return borrowLimit;
    }

    public void setBorrowLimit(Long borrowLimit) {
        this.borrowLimit = borrowLimit;
    }

    public CompanyBussinessType getBussinessType() {
        return bussinessType;
    }

    public void setBussinessType(CompanyBussinessType bussinessType) {
        this.bussinessType = bussinessType;
    }

    public String getWorkaddress() {
        return workaddress;
    }

    public void setWorkaddress(String workaddress) {
        this.workaddress = workaddress;
    }

    public String getMainbussiness() {
        return mainbussiness;
    }

    public void setMainbussiness(String mainbussiness) {
        this.mainbussiness = mainbussiness;
    }

    public String getTeltax() {
        return teltax;
    }

    public void setTeltax(String teltax) {
        this.teltax = teltax;
    }

    public String getLinkman_one_name() {
        return linkman_one_name;
    }

    public void setLinkman_one_name(String linkman_one_name) {
        this.linkman_one_name = linkman_one_name;
    }

    public String getLinkman_one_duty() {
        return linkman_one_duty;
    }

    public void setLinkman_one_duty(String linkman_one_duty) {
        this.linkman_one_duty = linkman_one_duty;
    }

    public String getLinkman_one_email() {
        return linkman_one_email;
    }

    public void setLinkman_one_email(String linkman_one_email) {
        this.linkman_one_email = linkman_one_email;
    }

    public String getLinkman_one_tel() {
        return linkman_one_tel;
    }

    public void setLinkman_one_tel(String linkman_one_tel) {
        this.linkman_one_tel = linkman_one_tel;
    }

    public String getLinkman_two_name() {
        return linkman_two_name;
    }

    public void setLinkman_two_name(String linkman_two_name) {
        this.linkman_two_name = linkman_two_name;
    }

    public String getLinkman_two_duty() {
        return linkman_two_duty;
    }

    public void setLinkman_two_duty(String linkman_two_duty) {
        this.linkman_two_duty = linkman_two_duty;
    }

    public String getLinkman_two_email() {
        return linkman_two_email;
    }

    public void setLinkman_two_email(String linkman_two_email) {
        this.linkman_two_email = linkman_two_email;
    }

    public String getLinkman_two_tel() {
        return linkman_two_tel;
    }

    public void setLinkman_two_tel(String linkman_two_tel) {
        this.linkman_two_tel = linkman_two_tel;
    }

    public String getPersonArea() {
        return personArea;
    }

    public void setPersonArea(String personArea) {
        this.personArea = personArea;
    }

    public String getPersonWorkCompany() {
        return personWorkCompany;
    }

    public void setPersonWorkCompany(String personWorkCompany) {
        this.personWorkCompany = personWorkCompany;
    }

    public String getPersonWorkDuty() {
        return personWorkDuty;
    }

    public void setPersonWorkDuty(String personWorkDuty) {
        this.personWorkDuty = personWorkDuty;
    }

    public String getFinancedeptType() {
        return financedeptType;
    }

    public void setFinancedeptType(String financedeptType) {
        this.financedeptType = financedeptType;
    }

    public BoolValue getIsGov() {
        return isGov;
    }

    public void setIsGov(BoolValue isGov) {
        this.isGov = isGov;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public BoolValue getIsQuestionCheck() {
        return isQuestionCheck;
    }

    public void setIsQuestionCheck(BoolValue isQuestionCheck) {
        this.isQuestionCheck = isQuestionCheck;
    }

    public UserQuestionType getQuestionType() {
        return questionType;
    }

    public void setQuestionType(UserQuestionType questionType) {
        this.questionType = questionType;
    }

    public String getAnswer() {
        return answer;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getLastLoginIp() {
        return lastLoginIp;
    }

    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getLoginSucNum() {
        return loginSucNum;
    }

    public void setLoginSucNum(Integer loginSucNum) {
        this.loginSucNum = loginSucNum;
    }

    public Integer getLoginFailNum() {
        return loginFailNum;
    }

    public void setLoginFailNum(Integer loginFailNum) {
        this.loginFailNum = loginFailNum;
    }

    public RegisterSource getRegisterFrom() {
        return registerFrom;
    }

    public void setRegisterFrom(RegisterSource registerFrom) {
        this.registerFrom = registerFrom;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public UserInfoStatus getStatus() {
        return status;
    }

    public void setStatus(UserInfoStatus status) {
        this.status = status;
    }

    public UserInfoType getType() {
        return type;
    }

    public void setType(UserInfoType type) {
        this.type = type;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getOrganizeCode() {
        return organizeCode;
    }

    public void setOrganizeCode(String organizeCode) {
        this.organizeCode = organizeCode;
    }

    public String getTaxCode() {
        return taxCode;
    }

    public void setTaxCode(String taxCode) {
        this.taxCode = taxCode;
    }

    public String getBankPermitCode() {
        return bankPermitCode;
    }

    public void setBankPermitCode(String bankPermitCode) {
        this.bankPermitCode = bankPermitCode;
    }

    public BoolValue getIsRealNameCheck() {
        return isRealNameCheck;
    }

    public void setIsRealNameCheck(BoolValue isRealNameCheck) {
        this.isRealNameCheck = isRealNameCheck;
    }

    public BoolValue getIsMobileCheck() {
        return isMobileCheck;
    }

    public void setIsMobileCheck(BoolValue isMobileCheck) {
        this.isMobileCheck = isMobileCheck;
    }

    public BoolValue getIsEmailCheck() {
        return isEmailCheck;
    }

    public void setIsEmailCheck(BoolValue isEmailCheck) {
        this.isEmailCheck = isEmailCheck;
    }

    public BoolValue getIsInvestor() {
        return isInvestor;
    }

    public void setIsInvestor(BoolValue isInvestor) {
        this.isInvestor = isInvestor;
    }

    public BoolValue getIsBorrower() {
        return isBorrower;
    }

    public void setIsBorrower(BoolValue isBorrower) {
        this.isBorrower = isBorrower;
    }

    public String getPwdAttach() {
        return pwdAttach;
    }

    public void setPwdAttach(String pwdAttach) {
        this.pwdAttach = pwdAttach;
    }

    public String getTrustAccountId() {
        return trustAccountId;
    }

    public void setTrustAccountId(String trustAccountId) {
        this.trustAccountId = trustAccountId;
    }

    public String getBusiCode() {
        return busiCode;
    }

    public void setBusiCode(String busiCode) {
        this.busiCode = busiCode;
    }

    public String getAuditDesc() {
        return auditDesc;
    }

    public void setAuditDesc(String auditDesc) {
        this.auditDesc = auditDesc;
    }

    public String getOpenBankId() {
        return openBankId;
    }

    public void setOpenBankId(String openBankId) {
        this.openBankId = openBankId;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getRecommendCode() {
        return recommendCode;
    }

    public void setRecommendCode(String recommendCode) {
        this.recommendCode = recommendCode;
    }

    public BoolValue getIsOpenAccount() {
        return isOpenAccount;
    }

    public void setIsOpenAccount(BoolValue isOpenAccount) {
        this.isOpenAccount = isOpenAccount;
    }

    public UserLevel getUserLevel() {
        return userLevel;
    }

    public void setUserLevel(UserLevel userLevel) {
        this.userLevel = userLevel;
    }

}